Copyright(C) 1994,1995,1996,1997 Terumasa KODAKA , Takeshi KONO
■Music Generator Board
Target PC-9801-14
Explanation o The music generator board is a sound source board equipped with
a synthesizer LSI (TMS3631-RI104 manufactured by Texas Instruments) and
capable of 8 channel sound generation.
o The I/O addresses used by this board are as follows.
------------+-------+-----+--------------------------------------------------
I/O address | Width | R/W | Contents
------------+-------+-----+--------------------------------------------------
0088h | BYTE | R/W | 8255A PORT A (READ/WRITE ENVELOP 1)
008Ah | BYTE | R/W | 8255A PORT B (READ/WRITE ENVELOP 2)
008Ch | BYTE | R/W | 8255A PORT C (READ/WRITE DATA)
008Eh | BYTE | W | 8255A MODE REGISTER
008Eh | BYTE | R | READ SWITCH (reads DIP SW on board)
0188h | BYTE | W | WRITE MASK REGISTER
018Ah | BYTE | W | WRITE MASK REGISTER
018Ch | BYTE | R/W | 8253A COUNTER #2
018Eh | BYTE | W | 8253A CONTROL WORD
018Eh | BYTE | R | READ STATUS (reads strap switch on board)
------------+-------+-----+--------------------------------------------------
* Only 018Eh (Read) has a fixed I/O address. Other I/O addresses can be
changed with the DIP switch on the board.
* The upper two bits of the address bus (bits 15, 14) are not decoded.
I/O 0088h,008Ah,008Ch,008Eh
Name Envelope and synthesizer LSI control
Chip Equivalent to 8255A
Function
------------+-------+-----+--------------------------------------------------
I/O address | Width | R/W | Contents
------------+-------+-----+--------------------------------------------------
0088h | BYTE | R/W | 8255A PORT A(READ/WRITE ENVELOP 1)
008Ah | BYTE | R/W | 8255A PORT B(READ/WRITE ENVELOP 2)
008Ch | BYTE | R/W | 8255A PORT C(READ/WRITE DATA)
008Eh | BYTE | W | 8255A MODE REGISTER
------------+-------+-----+--------------------------------------------------
●0088h,Read/Write: 8255A Port A Read/Write data ENVELOP1 control
●008Ah,Read/Write: 8255A Port B Read/Write data ENVELOP2 control
●008Ch,Read/Write: 8255A Port C Read/Write data TMS3631-RI104 control
●008Eh,Write: 8255A Control Register 8255A control register. For details, see the 8255A datasheet.
I/O 0188h,018Ah
Name WRITE MASK REGISTER
Chip
Function
------------+-------+-----+--------------------------------------------------
I/O address | Width | R/W |Contents
------------+-------+-----+--------------------------------------------------
0188h | BYTE | W | WRITE MASK REGISTER
018Ah | BYTE | W | WRITE MASK REGISTER
------------+-------+-----+--------------------------------------------------
[WRITE] WRITE MASK REGISTER
bit 7: CH#8
bit 6: CH#7
bit 5: CH#6
bit 4: CH#5
bit 3: CH#4
bit 2: CH#3
bit 1: CH#2
bit 0: CH#1
1 = Sound is produced
0 = No sound is produced
[READ]
None
Explanation o Writes to the mask register.
o I/O 018Ah is an image of I/O 0188h. It doesn't matter which one you access.
I/O 018Ch,018Eh
Name Timer
Chip Equivalent to 8253A
Function
------------+-------+-----+--------------------------------------------------
I/O Address | Width | R/W | Contents
------------+-------+-----+--------------------------------------------------
018Ch | BYTE | R/W | 8253A COUNTER #2
018Eh | BYTE | W | 8253A CONTROL WORD
------------+-------+-----+--------------------------------------------------
●018Ch,Read/Write: 8253A COUNTER #2
Reads and writes 8253A counter #2.
●018Eh,Write: 8253A CONTROL WORD
8253A control register. For details, refer to the 8253A datasheet.
Explanation o This board does not allow access to 8253A counters #0 and #1.
I/O 008Eh,018Eh
Name READ SWITCH, READ STATUS
Chip
Function
------------+-------+-----+--------------------------------------------------
I/O address | Width | R/W | Contents
------------+-------+-----+--------------------------------------------------
008Eh | BYTE | R | READ SWITCH (Reads DIP SW on board)
018Eh | BYTE | R | READ STATUS (Reads strap SW on board)
------------+-------+-----+--------------------------------------------------
●008Eh,Read: Reads I/O port address setting DIP switch
bit 7: AB13
bit 6: AB12
bit 5: AB11
bit 4: AB10
bit 3: AB07
bit 2: AB06
bit 1: AB05
bit 0: AB04
●018Eh,Read: Read the interval timer interrupt number setting switch
bit 7,6: MINT1,MINT2
00b = INT0 (INT 0Bh)
01b = INT41 (INT 12h)
10b = INT5 (INT 14h)
11b = INT6 (INT 15h)
bit 5-0: Undefined
Explanation o I/O 008Eh,Read reads the port address setting DIP SW on the
board that sets the other port numbers.
The address is fixed only for the read operation of I/O 008Eh.
o AB15,14 (bits 15,14 of the address bus) are not decoded.